<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<title>S110_nRF51822/Include/ble/ble_services/ble_hids.h Source File</title>
<link href="tabs.css" rel="stylesheet" type="text/css" />
<link href="doxygen.css" rel="stylesheet" type="text/css" />
<link href="alias.css" rel="stylesheet" type="text/css" />
<script type="text/javascript" src="alias.js"></script>

<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<script type="text/javascript">
  $(document).ready(initResizable);
</script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/search.js"></script>
<script type="text/javascript">
  $(document).ready(function() { searchBox.OnSelectItem(0); });
</script>


<script type="text/javascript">
  jQuery(document).ready(function () {
    if(gref){ // Number all _img and _table classes
      gref();
    }
  });
</script>

</head>
<body>
<div id="top"><!-- do not remove this div! -->

<div id="titlearea">
<table cellspacing="0" cellpadding="0">
 <tbody>
 <tr style="height: 56px;">
  
  
  <td style="padding-left: 0.5em;">
   <div id="projectname">nRF51822 BLE SDK
   
   </div>
   
  </td>
  
  
  
 </tr>
 </tbody>
</table>
</div>

<!-- Generated by Doxygen 1.7.5 -->
<script type="text/javascript">
var searchBox = new SearchBox("searchBox", "search",false,'Search');
</script>
  <div id="navrow1" class="tabs">
    <ul class="tablist">
      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
      <li><a href="modules.html"><span>Modules</span></a></li>
      <li><a href="annotated.html"><span>Data&#160;Structures</span></a></li>
      <li class="current"><a href="files.html"><span>Files</span></a></li>
      <li>
        <div id="MSearchBox" class="MSearchBoxInactive">
        <span class="left">
          <img id="MSearchSelect" src="search/mag_sel.png"
               onmouseover="return searchBox.OnSearchSelectShow()"
               onmouseout="return searchBox.OnSearchSelectHide()"
               alt=""/>
          <input type="text" id="MSearchField" value="Search" accesskey="S"
               onfocus="searchBox.OnSearchFieldFocus(true)" 
               onblur="searchBox.OnSearchFieldFocus(false)" 
               onkeyup="searchBox.OnSearchFieldChange(event)"/>
          </span><span class="right">
            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
          </span>
        </div>
      </li>
    </ul>
  </div>
  <div id="navrow2" class="tabs2">
    <ul class="tablist">
      <li><a href="files.html"><span>File&#160;List</span></a></li>
      <li><a href="globals.html"><span>Globals</span></a></li>
    </ul>
  </div>
</div>
<div id="side-nav" class="ui-resizable side-nav-resizable">
  <div id="nav-tree">
    <div id="nav-tree-contents">
    </div>
  </div>
  <div id="splitbar" style="-moz-user-select:none;" 
       class="ui-resizable-handle">
  </div>
</div>
<script type="text/javascript">
  initNavTree('ble__hids_8h.html','');
</script>
<div id="doc-content">
<div class="header">
  <div class="headertitle">
<div class="title">S110_nRF51822/Include/ble/ble_services/ble_hids.h</div>  </div>
</div>
<div class="contents">
<a href="ble__hids_8h.html">Go to the documentation of this file.</a><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="comment">/* Copyright (c) 2012 Nordic Semiconductor. All Rights Reserved.</span>
<a name="l00002"></a>00002 <span class="comment"> *</span>
<a name="l00003"></a>00003 <span class="comment"> * The information contained herein is property of Nordic Semiconductor ASA.</span>
<a name="l00004"></a>00004 <span class="comment"> * Terms and conditions of usage are described in detail in NORDIC</span>
<a name="l00005"></a>00005 <span class="comment"> * SEMICONDUCTOR STANDARD SOFTWARE LICENSE AGREEMENT.</span>
<a name="l00006"></a>00006 <span class="comment"> *</span>
<a name="l00007"></a>00007 <span class="comment"> * Licensees are granted free, non-transferable use of the information. NO</span>
<a name="l00008"></a>00008 <span class="comment"> * WARRANTY of ANY KIND is provided. This heading must NOT be removed from</span>
<a name="l00009"></a>00009 <span class="comment"> * the file.</span>
<a name="l00010"></a>00010 <span class="comment"> *</span>
<a name="l00011"></a>00011 <span class="comment"> * $LastChangedRevision$</span>
<a name="l00012"></a>00012 <span class="comment"> */</span>
<a name="l00013"></a>00013 
<a name="l00036"></a>00036 <span class="preprocessor">#ifndef BLE_HIDS_H__</span>
<a name="l00037"></a>00037 <span class="preprocessor"></span><span class="preprocessor">#define BLE_HIDS_H__</span>
<a name="l00038"></a>00038 <span class="preprocessor"></span>
<a name="l00039"></a>00039 <span class="preprocessor">#include &lt;stdint.h&gt;</span>
<a name="l00040"></a>00040 <span class="preprocessor">#include &lt;stdbool.h&gt;</span>
<a name="l00041"></a>00041 <span class="preprocessor">#include &quot;ble.h&quot;</span>
<a name="l00042"></a>00042 <span class="preprocessor">#include &quot;<a class="code" href="ble__srv__common_8h.html">ble_srv_common.h</a>&quot;</span>
<a name="l00043"></a>00043 
<a name="l00044"></a>00044 <span class="comment">// Report Type values</span>
<a name="l00045"></a>00045 <span class="preprocessor">#define BLE_HIDS_REP_TYPE_INPUT                 1</span>
<a name="l00046"></a>00046 <span class="preprocessor"></span><span class="preprocessor">#define BLE_HIDS_REP_TYPE_OUTPUT                2</span>
<a name="l00047"></a>00047 <span class="preprocessor"></span><span class="preprocessor">#define BLE_HIDS_REP_TYPE_FEATURE               3</span>
<a name="l00048"></a>00048 <span class="preprocessor"></span>
<a name="l00049"></a>00049 <span class="comment">// Maximum number of the various Report Types</span>
<a name="l00050"></a>00050 <span class="preprocessor">#define BLE_HIDS_MAX_INPUT_REP                  10</span>
<a name="l00051"></a>00051 <span class="preprocessor"></span><span class="preprocessor">#define BLE_HIDS_MAX_OUTPUT_REP                 10</span>
<a name="l00052"></a>00052 <span class="preprocessor"></span><span class="preprocessor">#define BLE_HIDS_MAX_FEATURE_REP                10</span>
<a name="l00053"></a>00053 <span class="preprocessor"></span>
<a name="l00054"></a>00054 <span class="comment">// Information Flags</span>
<a name="l00055"></a>00055 <span class="preprocessor">#define HID_INFO_FLAG_REMOTE_WAKE_MSK           0x01</span>
<a name="l00056"></a>00056 <span class="preprocessor"></span><span class="preprocessor">#define HID_INFO_FLAG_NORMALLY_CONNECTABLE_MSK  0x02</span>
<a name="l00057"></a>00057 <span class="preprocessor"></span>
<a name="l00059"></a>00059 <span class="keyword">typedef</span> <span class="keyword">struct</span>
<a name="l00060"></a>00060 {
<a name="l00061"></a><a class="code" href="structble__hids__char__id__t.html#aaa1ded1f77a9c12a196ed4ba2ce5f95d">00061</a>     uint16_t <a class="code" href="structble__hids__char__id__t.html#aaa1ded1f77a9c12a196ed4ba2ce5f95d">uuid</a>;                                  
<a name="l00062"></a><a class="code" href="structble__hids__char__id__t.html#adb67e5aa0cee4224c7158f31bb19f365">00062</a>     uint8_t  <a class="code" href="structble__hids__char__id__t.html#adb67e5aa0cee4224c7158f31bb19f365">rep_type</a>;                              
<a name="l00063"></a><a class="code" href="structble__hids__char__id__t.html#a3c1ebbe6469d7b832170d89afb48ec70">00063</a>     uint8_t  <a class="code" href="structble__hids__char__id__t.html#a3c1ebbe6469d7b832170d89afb48ec70">rep_index</a>;                             
<a name="l00064"></a>00064 } <a class="code" href="structble__hids__char__id__t.html" title="HID Service characteristic id.">ble_hids_char_id_t</a>;
<a name="l00065"></a>00065 
<a name="l00067"></a><a class="code" href="group__ble__sdk__srv__hids.html#ga621d899fc96687c922a0c65010bfc063">00067</a> <span class="keyword">typedef</span> <span class="keyword">enum</span>
<a name="l00068"></a>00068 {
<a name="l00069"></a><a class="code" href="group__ble__sdk__srv__hids.html#gga621d899fc96687c922a0c65010bfc063a2c517f6d4a3a253bd99b52cc67f34a8b">00069</a>     <a class="code" href="group__ble__sdk__srv__hids.html#gga621d899fc96687c922a0c65010bfc063a2c517f6d4a3a253bd99b52cc67f34a8b">BLE_HIDS_EVT_HOST_SUSP</a>,                         
<a name="l00070"></a><a class="code" href="group__ble__sdk__srv__hids.html#gga621d899fc96687c922a0c65010bfc063a6971e1a18ee6ee48d3aa2e046debba6b">00070</a>     <a class="code" href="group__ble__sdk__srv__hids.html#gga621d899fc96687c922a0c65010bfc063a6971e1a18ee6ee48d3aa2e046debba6b">BLE_HIDS_EVT_HOST_EXIT_SUSP</a>,                    
<a name="l00071"></a><a class="code" href="group__ble__sdk__srv__hids.html#gga621d899fc96687c922a0c65010bfc063a65b1e55409e2bed5a0871ec15dff4875">00071</a>     <a class="code" href="group__ble__sdk__srv__hids.html#gga621d899fc96687c922a0c65010bfc063a65b1e55409e2bed5a0871ec15dff4875">BLE_HIDS_EVT_NOTIF_ENABLED</a>,                     
<a name="l00072"></a><a class="code" href="group__ble__sdk__srv__hids.html#gga621d899fc96687c922a0c65010bfc063a71b3af5b42cc730e6ad0752b3ad5c581">00072</a>     <a class="code" href="group__ble__sdk__srv__hids.html#gga621d899fc96687c922a0c65010bfc063a71b3af5b42cc730e6ad0752b3ad5c581">BLE_HIDS_EVT_NOTIF_DISABLED</a>,                    
<a name="l00073"></a><a class="code" href="group__ble__sdk__srv__hids.html#gga621d899fc96687c922a0c65010bfc063a0afaaafa6865acd5725096b6c2f6faa6">00073</a>     <a class="code" href="group__ble__sdk__srv__hids.html#gga621d899fc96687c922a0c65010bfc063a0afaaafa6865acd5725096b6c2f6faa6">BLE_HIDS_EVT_REP_CHAR_WRITE</a>,                    
<a name="l00074"></a><a class="code" href="group__ble__sdk__srv__hids.html#gga621d899fc96687c922a0c65010bfc063a4bc01306b5a8d12443926c1761d49a3a">00074</a>     <a class="code" href="group__ble__sdk__srv__hids.html#gga621d899fc96687c922a0c65010bfc063a4bc01306b5a8d12443926c1761d49a3a">BLE_HIDS_EVT_BOOT_MODE_ENTERED</a>,                 
<a name="l00075"></a><a class="code" href="group__ble__sdk__srv__hids.html#gga621d899fc96687c922a0c65010bfc063a42845071ff0875e098bd16723d57d72f">00075</a>     <a class="code" href="group__ble__sdk__srv__hids.html#gga621d899fc96687c922a0c65010bfc063a42845071ff0875e098bd16723d57d72f">BLE_HIDS_EVT_REPORT_MODE_ENTERED</a>                
<a name="l00076"></a>00076 } <a class="code" href="group__ble__sdk__srv__hids.html#ga621d899fc96687c922a0c65010bfc063" title="HID Service event type.">ble_hids_evt_type_t</a>;
<a name="l00077"></a>00077 
<a name="l00079"></a>00079 <span class="keyword">typedef</span> <span class="keyword">struct</span>
<a name="l00080"></a>00080 {
<a name="l00081"></a><a class="code" href="structble__hids__evt__t.html#a1cd4bcc9aa3fde6718c5bcebfdbed672">00081</a>     <a class="code" href="group__ble__sdk__srv__hids.html#ga621d899fc96687c922a0c65010bfc063" title="HID Service event type.">ble_hids_evt_type_t</a> <a class="code" href="structble__hids__evt__t.html#a1cd4bcc9aa3fde6718c5bcebfdbed672">evt_type</a>;                   
<a name="l00082"></a>00082     <span class="keyword">union</span>
<a name="l00083"></a>00083     {
<a name="l00084"></a>00084         <span class="keyword">struct</span>
<a name="l00085"></a>00085         {
<a name="l00086"></a><a class="code" href="structble__hids__evt__t.html#aecdd153b6931ff9139d23efd1f8add96">00086</a>             <a class="code" href="structble__hids__char__id__t.html" title="HID Service characteristic id.">ble_hids_char_id_t</a> <a class="code" href="structble__hids__evt__t.html#aecdd153b6931ff9139d23efd1f8add96">char_id</a>;             
<a name="l00087"></a>00087         } notification;
<a name="l00088"></a>00088         <span class="keyword">struct</span>
<a name="l00089"></a>00089         {
<a name="l00090"></a>00090             <a class="code" href="structble__hids__char__id__t.html" title="HID Service characteristic id.">ble_hids_char_id_t</a> char_id;             
<a name="l00091"></a>00091         } char_write;
<a name="l00092"></a>00092     } params;
<a name="l00093"></a>00093 } <a class="code" href="structble__hids__evt__t.html" title="HID Service event.">ble_hids_evt_t</a>;
<a name="l00094"></a>00094 
<a name="l00095"></a>00095 <span class="comment">// Forward declaration of the ble_hids_t type. </span>
<a name="l00096"></a><a class="code" href="group__ble__sdk__srv__hids.html#ga7038aff3f095043b34e0a1403dd4ebcc">00096</a> <span class="keyword">typedef</span> <span class="keyword">struct </span><a class="code" href="structble__hids__s.html" title="HID Service structure. This contains various status information for the service.">ble_hids_s</a> <a class="code" href="structble__hids__s.html" title="HID Service structure. This contains various status information for the service.">ble_hids_t</a>;
<a name="l00097"></a>00097 
<a name="l00099"></a><a class="code" href="group__ble__sdk__srv__hids.html#ga6311e0f98c60c31fd17b201162dc6427">00099</a> <span class="keyword">typedef</span> void (*<a class="code" href="group__ble__sdk__srv__hids.html#ga6311e0f98c60c31fd17b201162dc6427" title="HID Service event handler type.">ble_hids_evt_handler_t</a>) (<a class="code" href="structble__hids__s.html" title="HID Service structure. This contains various status information for the service.">ble_hids_t</a> * p_hids, <a class="code" href="structble__hids__evt__t.html" title="HID Service event.">ble_hids_evt_t</a> * p_evt);
<a name="l00100"></a>00100 
<a name="l00102"></a>00102 <span class="keyword">typedef</span> <span class="keyword">struct</span>
<a name="l00103"></a>00103 {
<a name="l00104"></a><a class="code" href="structble__hids__hid__information__t.html#a2a011dc5c6b8855b97d33d0e301a63ab">00104</a>     uint16_t                      <a class="code" href="structble__hids__hid__information__t.html#a2a011dc5c6b8855b97d33d0e301a63ab">bcd_hid</a>;          
<a name="l00105"></a><a class="code" href="structble__hids__hid__information__t.html#aec71958133a703cd76e766e8e3b26143">00105</a>     uint8_t                       <a class="code" href="structble__hids__hid__information__t.html#aec71958133a703cd76e766e8e3b26143">b_country_code</a>;   
<a name="l00106"></a><a class="code" href="structble__hids__hid__information__t.html#aa2585d779da0ab21273a8d92de9a0ebe">00106</a>     uint8_t                       <a class="code" href="structble__hids__hid__information__t.html#aa2585d779da0ab21273a8d92de9a0ebe">flags</a>;            
<a name="l00107"></a><a class="code" href="structble__hids__hid__information__t.html#adbc2c94f45ebf2c86646573e90e9969a">00107</a>     <a class="code" href="structble__srv__security__mode__t.html" title="Security settings structure.">ble_srv_security_mode_t</a>       <a class="code" href="structble__hids__hid__information__t.html#adbc2c94f45ebf2c86646573e90e9969a">char_attr_md</a>;     
<a name="l00108"></a>00108 } <a class="code" href="structble__hids__hid__information__t.html" title="HID Information characteristic value.">ble_hids_hid_information_t</a>;
<a name="l00109"></a>00109 
<a name="l00112"></a>00112 <span class="keyword">typedef</span> <span class="keyword">struct</span>
<a name="l00113"></a>00113 {
<a name="l00114"></a><a class="code" href="structble__hids__inp__rep__init__t.html#a0f34a6773b9be9d0d44ebad4070b973a">00114</a>     <span class="keywordtype">bool</span>                          <a class="code" href="structble__hids__inp__rep__init__t.html#a0f34a6773b9be9d0d44ebad4070b973a">writable</a>;         
<a name="l00115"></a><a class="code" href="structble__hids__inp__rep__init__t.html#a7e8c368b285fef6796e5b0fda9b89d8c">00115</a>     uint8_t                       <a class="code" href="structble__hids__inp__rep__init__t.html#a7e8c368b285fef6796e5b0fda9b89d8c">max_len</a>;          
<a name="l00116"></a><a class="code" href="structble__hids__inp__rep__init__t.html#a070c6ac5d77d97faf98946507b8f8b7b">00116</a>     <a class="code" href="structble__srv__report__ref__t.html" title="Value of a Report Reference descriptor.">ble_srv_report_ref_t</a>          <a class="code" href="structble__hids__inp__rep__init__t.html#a070c6ac5d77d97faf98946507b8f8b7b">rep_ref</a>;          
<a name="l00117"></a><a class="code" href="structble__hids__inp__rep__init__t.html#a7affa6c39815d70e8fe83c9b12b9c263">00117</a>     <a class="code" href="structble__srv__cccd__security__mode__t.html" title="Security settings structure.">ble_srv_cccd_security_mode_t</a>  <a class="code" href="structble__hids__inp__rep__init__t.html#a7affa6c39815d70e8fe83c9b12b9c263">attr_md</a>;          
<a name="l00118"></a>00118 } <a class="code" href="structble__hids__inp__rep__init__t.html" title="HID Service Input Report characteristic init structure. This contains all options and data needed for...">ble_hids_inp_rep_init_t</a>;
<a name="l00119"></a>00119 
<a name="l00122"></a>00122 <span class="keyword">typedef</span> <span class="keyword">struct</span>
<a name="l00123"></a>00123 {
<a name="l00124"></a><a class="code" href="structble__hids__outp__rep__init__t.html#a7e8c368b285fef6796e5b0fda9b89d8c">00124</a>     uint8_t                       <a class="code" href="structble__hids__outp__rep__init__t.html#a7e8c368b285fef6796e5b0fda9b89d8c">max_len</a>;          
<a name="l00125"></a><a class="code" href="structble__hids__outp__rep__init__t.html#a070c6ac5d77d97faf98946507b8f8b7b">00125</a>     <a class="code" href="structble__srv__report__ref__t.html" title="Value of a Report Reference descriptor.">ble_srv_report_ref_t</a>          <a class="code" href="structble__hids__outp__rep__init__t.html#a070c6ac5d77d97faf98946507b8f8b7b">rep_ref</a>;          
<a name="l00126"></a><a class="code" href="structble__hids__outp__rep__init__t.html#a7affa6c39815d70e8fe83c9b12b9c263">00126</a>     <a class="code" href="structble__srv__cccd__security__mode__t.html" title="Security settings structure.">ble_srv_cccd_security_mode_t</a>  <a class="code" href="structble__hids__outp__rep__init__t.html#a7affa6c39815d70e8fe83c9b12b9c263">attr_md</a>;          
<a name="l00127"></a>00127 } <a class="code" href="structble__hids__outp__rep__init__t.html" title="HID Service Output Report characteristic init structure. This contains all options and data needed fo...">ble_hids_outp_rep_init_t</a>;
<a name="l00128"></a>00128 
<a name="l00131"></a>00131 <span class="keyword">typedef</span> <span class="keyword">struct</span>
<a name="l00132"></a>00132 {
<a name="l00133"></a><a class="code" href="structble__hids__feature__rep__init__t.html#a7e8c368b285fef6796e5b0fda9b89d8c">00133</a>     uint8_t                       <a class="code" href="structble__hids__feature__rep__init__t.html#a7e8c368b285fef6796e5b0fda9b89d8c">max_len</a>;          
<a name="l00134"></a><a class="code" href="structble__hids__feature__rep__init__t.html#a070c6ac5d77d97faf98946507b8f8b7b">00134</a>     <a class="code" href="structble__srv__report__ref__t.html" title="Value of a Report Reference descriptor.">ble_srv_report_ref_t</a>          <a class="code" href="structble__hids__feature__rep__init__t.html#a070c6ac5d77d97faf98946507b8f8b7b">rep_ref</a>;          
<a name="l00135"></a><a class="code" href="structble__hids__feature__rep__init__t.html#a7affa6c39815d70e8fe83c9b12b9c263">00135</a>     <a class="code" href="structble__srv__cccd__security__mode__t.html" title="Security settings structure.">ble_srv_cccd_security_mode_t</a>  <a class="code" href="structble__hids__feature__rep__init__t.html#a7affa6c39815d70e8fe83c9b12b9c263">attr_md</a>;  
<a name="l00136"></a>00136 } <a class="code" href="structble__hids__feature__rep__init__t.html" title="HID Service Feature Report characteristic init structure. This contains all options and data needed f...">ble_hids_feature_rep_init_t</a>;
<a name="l00137"></a>00137 
<a name="l00140"></a>00140 <span class="keyword">typedef</span> <span class="keyword">struct</span>
<a name="l00141"></a>00141 {
<a name="l00142"></a><a class="code" href="structble__hids__rep__map__init__t.html#ac78cff7af99787faad2a285dffdde08e">00142</a>     uint8_t                       <a class="code" href="structble__hids__rep__map__init__t.html#ac78cff7af99787faad2a285dffdde08e">data_len</a>;         
<a name="l00143"></a><a class="code" href="structble__hids__rep__map__init__t.html#a8304c4af5da6e830b86d7199dc9a22e6">00143</a>     uint8_t *                     <a class="code" href="structble__hids__rep__map__init__t.html#a8304c4af5da6e830b86d7199dc9a22e6">p_data</a>;           
<a name="l00144"></a><a class="code" href="structble__hids__rep__map__init__t.html#afac4e236cf6c28612177689913f2cbf6">00144</a>     <a class="code" href="structble__uuid__t.html" title="Bluetooth Low Energy UUID type, encapsulates both 16-bit and 128-bit UUIDs.">ble_uuid_t</a> *                  <a class="code" href="structble__hids__rep__map__init__t.html#afac4e236cf6c28612177689913f2cbf6">p_ext_rep_ref</a>;    
<a name="l00145"></a><a class="code" href="structble__hids__rep__map__init__t.html#addddaca40513d1c3357ded4f527fda06">00145</a>     <a class="code" href="structble__srv__security__mode__t.html" title="Security settings structure.">ble_srv_security_mode_t</a>       <a class="code" href="structble__hids__rep__map__init__t.html#addddaca40513d1c3357ded4f527fda06">rep_map_attr_md</a>;  
<a name="l00146"></a>00146 } <a class="code" href="structble__hids__rep__map__init__t.html" title="HID Service Report Map characteristic init structure. This contains all options and data needed for i...">ble_hids_rep_map_init_t</a>;
<a name="l00147"></a>00147 
<a name="l00150"></a>00150 <span class="keyword">typedef</span> <span class="keyword">struct</span>
<a name="l00151"></a>00151 {
<a name="l00152"></a><a class="code" href="structble__hids__rep__char__t.html#aee1cb1e27b722ea969623de53f101e86">00152</a>     <a class="code" href="structble__gatts__char__handles__t.html" title="GATT Characteristic Definition Handles.">ble_gatts_char_handles_t</a>      <a class="code" href="structble__hids__rep__char__t.html#aee1cb1e27b722ea969623de53f101e86">char_handles</a>;     
<a name="l00153"></a><a class="code" href="structble__hids__rep__char__t.html#afc6931d3e3729479f61a07b785b00971">00153</a>     uint16_t                      <a class="code" href="structble__hids__rep__char__t.html#afc6931d3e3729479f61a07b785b00971">ref_handle</a>;       
<a name="l00154"></a>00154 } <a class="code" href="structble__hids__rep__char__t.html" title="HID Report characteristic structure. This contains various information for initialization of a Report...">ble_hids_rep_char_t</a>;
<a name="l00155"></a>00155 
<a name="l00158"></a>00158 <span class="keyword">typedef</span> <span class="keyword">struct</span>
<a name="l00159"></a>00159 {
<a name="l00160"></a><a class="code" href="structble__hids__init__t.html#aec4ea916000444b65d161b03d078386b">00160</a>     <a class="code" href="group__ble__sdk__srv__hids.html#ga6311e0f98c60c31fd17b201162dc6427" title="HID Service event handler type.">ble_hids_evt_handler_t</a>        <a class="code" href="structble__hids__init__t.html#aec4ea916000444b65d161b03d078386b">evt_handler</a>;                                  
<a name="l00161"></a><a class="code" href="structble__hids__init__t.html#a893a7b5845beb42d9e5b650fd012f7f1">00161</a>     <a class="code" href="group__ble__sdk__srv__common.html#gac10076d39c0ddcfe333252fe8810a1f1" title="Type definition for error handler function which will be called in case of an error in a service or a...">ble_srv_error_handler_t</a>       <a class="code" href="structble__hids__init__t.html#a893a7b5845beb42d9e5b650fd012f7f1">error_handler</a>;                                
<a name="l00162"></a><a class="code" href="structble__hids__init__t.html#ae213e686ada9be3db5d0145cafa44299">00162</a>     <span class="keywordtype">bool</span>                          <a class="code" href="structble__hids__init__t.html#ae213e686ada9be3db5d0145cafa44299">is_kb</a>;                                        
<a name="l00163"></a><a class="code" href="structble__hids__init__t.html#ac5f51b1716e007423b10547f000a6bfa">00163</a>     <span class="keywordtype">bool</span>                          <a class="code" href="structble__hids__init__t.html#ac5f51b1716e007423b10547f000a6bfa">is_mouse</a>;                                     
<a name="l00164"></a><a class="code" href="structble__hids__init__t.html#a6779c4c746ce0d2b8aea6d532e6ad46d">00164</a>     uint8_t                       <a class="code" href="structble__hids__init__t.html#a6779c4c746ce0d2b8aea6d532e6ad46d">inp_rep_count</a>;                                
<a name="l00165"></a><a class="code" href="structble__hids__init__t.html#ace337c61c33de48831b81df503231cd2">00165</a>     <a class="code" href="structble__hids__inp__rep__init__t.html" title="HID Service Input Report characteristic init structure. This contains all options and data needed for...">ble_hids_inp_rep_init_t</a> *     <a class="code" href="structble__hids__init__t.html#ace337c61c33de48831b81df503231cd2">p_inp_rep_array</a>;                              
<a name="l00166"></a><a class="code" href="structble__hids__init__t.html#ac502f18e0e0fb7c42ae9ba83de452e39">00166</a>     uint8_t                       <a class="code" href="structble__hids__init__t.html#ac502f18e0e0fb7c42ae9ba83de452e39">outp_rep_count</a>;                               
<a name="l00167"></a><a class="code" href="structble__hids__init__t.html#a802761ce4dffd4e4cb45154c1a65790a">00167</a>     <a class="code" href="structble__hids__outp__rep__init__t.html" title="HID Service Output Report characteristic init structure. This contains all options and data needed fo...">ble_hids_outp_rep_init_t</a> *    <a class="code" href="structble__hids__init__t.html#a802761ce4dffd4e4cb45154c1a65790a">p_outp_rep_array</a>;                             
<a name="l00168"></a><a class="code" href="structble__hids__init__t.html#a188334a4e9d4695a90263e843b9985a3">00168</a>     uint8_t                       <a class="code" href="structble__hids__init__t.html#a188334a4e9d4695a90263e843b9985a3">feature_rep_count</a>;                            
<a name="l00169"></a><a class="code" href="structble__hids__init__t.html#ad9bde41a48b05ac0c04ac8660e7ee9c3">00169</a>     <a class="code" href="structble__hids__feature__rep__init__t.html" title="HID Service Feature Report characteristic init structure. This contains all options and data needed f...">ble_hids_feature_rep_init_t</a> * <a class="code" href="structble__hids__init__t.html#ad9bde41a48b05ac0c04ac8660e7ee9c3">p_feature_rep_array</a>;                          
<a name="l00170"></a><a class="code" href="structble__hids__init__t.html#a185212c529a0c80d609800ecdfd9aef5">00170</a>     <a class="code" href="structble__hids__rep__map__init__t.html" title="HID Service Report Map characteristic init structure. This contains all options and data needed for i...">ble_hids_rep_map_init_t</a>       <a class="code" href="structble__hids__init__t.html#a185212c529a0c80d609800ecdfd9aef5">rep_map</a>;                                      
<a name="l00171"></a><a class="code" href="structble__hids__init__t.html#a883ca268e11cefa978f61749ebb21961">00171</a>     <span class="keywordtype">bool</span>                          <a class="code" href="structble__hids__init__t.html#a883ca268e11cefa978f61749ebb21961">is_boot_kb_inp_rep_writable</a>;                  
<a name="l00172"></a><a class="code" href="structble__hids__init__t.html#a504aafb4fb510eb9e2d1905f388695f5">00172</a>     <span class="keywordtype">bool</span>                          <a class="code" href="structble__hids__init__t.html#a504aafb4fb510eb9e2d1905f388695f5">is_boot_mouse_inp_rep_writable</a>;               
<a name="l00173"></a><a class="code" href="structble__hids__init__t.html#aabc2c6085c0d6caccf6ff29021c1d126">00173</a>     <a class="code" href="structble__hids__hid__information__t.html" title="HID Information characteristic value.">ble_hids_hid_information_t</a>    <a class="code" href="structble__hids__init__t.html#aabc2c6085c0d6caccf6ff29021c1d126">hid_information</a>;                              
<a name="l00174"></a><a class="code" href="structble__hids__init__t.html#a4939f849bfe8f354935e82db0c37e500">00174</a>     uint8_t                       <a class="code" href="structble__hids__init__t.html#a4939f849bfe8f354935e82db0c37e500">included_services_count</a>;                      
<a name="l00175"></a><a class="code" href="structble__hids__init__t.html#a2da787144c7b5ec4bf22c8d02d0a3186">00175</a>     uint16_t *                    <a class="code" href="structble__hids__init__t.html#a2da787144c7b5ec4bf22c8d02d0a3186">p_included_services_array</a>;                    
<a name="l00176"></a><a class="code" href="structble__hids__init__t.html#ade56d45b12aac7e9a01a3eb229a4d46a">00176</a>     <a class="code" href="structble__srv__security__mode__t.html" title="Security settings structure.">ble_srv_security_mode_t</a>       <a class="code" href="structble__hids__init__t.html#ade56d45b12aac7e9a01a3eb229a4d46a">hids_protocol_mode_attr_md</a>;                   
<a name="l00177"></a><a class="code" href="structble__hids__init__t.html#a41612c278036c148c70940b2ec5c2787">00177</a>     <a class="code" href="structble__srv__security__mode__t.html" title="Security settings structure.">ble_srv_security_mode_t</a>       <a class="code" href="structble__hids__init__t.html#a41612c278036c148c70940b2ec5c2787">hids_ctrl_point</a>;                              
<a name="l00178"></a><a class="code" href="structble__hids__init__t.html#a6915e9411623e91805f903234ded2397">00178</a>     <a class="code" href="structble__srv__cccd__security__mode__t.html" title="Security settings structure.">ble_srv_cccd_security_mode_t</a>  <a class="code" href="structble__hids__init__t.html#a6915e9411623e91805f903234ded2397">hids_boot_mouse_inp_rep</a>;                      
<a name="l00179"></a><a class="code" href="structble__hids__init__t.html#a7600fbb6e31c2a49df7d9ee00d0ed8ef">00179</a>     <a class="code" href="structble__srv__cccd__security__mode__t.html" title="Security settings structure.">ble_srv_cccd_security_mode_t</a>  <a class="code" href="structble__hids__init__t.html#a7600fbb6e31c2a49df7d9ee00d0ed8ef">hids_boot_kb_inp_rep</a>;                         
<a name="l00180"></a><a class="code" href="structble__hids__init__t.html#aefb8bcf73c4b8d2ce0e483c14fcb84c5">00180</a>     <a class="code" href="structble__srv__security__mode__t.html" title="Security settings structure.">ble_srv_security_mode_t</a>       <a class="code" href="structble__hids__init__t.html#aefb8bcf73c4b8d2ce0e483c14fcb84c5">hids_boot_kb_outp_rep</a>;                        
<a name="l00181"></a>00181 } <a class="code" href="structble__hids__init__t.html" title="HID Service init structure. This contains all options and data needed for initialization of the servi...">ble_hids_init_t</a>;
<a name="l00182"></a>00182 
<a name="l00184"></a>00184 <span class="keyword">typedef</span> <span class="keyword">struct </span><a class="code" href="structble__hids__s.html" title="HID Service structure. This contains various status information for the service.">ble_hids_s</a>
<a name="l00185"></a>00185 {
<a name="l00186"></a><a class="code" href="structble__hids__s.html#aec4ea916000444b65d161b03d078386b">00186</a>     <a class="code" href="group__ble__sdk__srv__hids.html#ga6311e0f98c60c31fd17b201162dc6427" title="HID Service event handler type.">ble_hids_evt_handler_t</a>        <a class="code" href="structble__hids__s.html#aec4ea916000444b65d161b03d078386b">evt_handler</a>;                                  
<a name="l00187"></a><a class="code" href="structble__hids__s.html#a893a7b5845beb42d9e5b650fd012f7f1">00187</a>     <a class="code" href="group__ble__sdk__srv__common.html#gac10076d39c0ddcfe333252fe8810a1f1" title="Type definition for error handler function which will be called in case of an error in a service or a...">ble_srv_error_handler_t</a>       <a class="code" href="structble__hids__s.html#a893a7b5845beb42d9e5b650fd012f7f1">error_handler</a>;                                
<a name="l00188"></a><a class="code" href="structble__hids__s.html#a363e00d9262febd8d752ed2f933be1e4">00188</a>     uint16_t                      <a class="code" href="structble__hids__s.html#a363e00d9262febd8d752ed2f933be1e4">service_handle</a>;                               
<a name="l00189"></a><a class="code" href="structble__hids__s.html#a00a02869d10bf33ebf85305e0c9060a8">00189</a>     <a class="code" href="structble__gatts__char__handles__t.html" title="GATT Characteristic Definition Handles.">ble_gatts_char_handles_t</a>      <a class="code" href="structble__hids__s.html#a00a02869d10bf33ebf85305e0c9060a8">protocol_mode_handles</a>;                        
<a name="l00190"></a><a class="code" href="structble__hids__s.html#a6779c4c746ce0d2b8aea6d532e6ad46d">00190</a>     uint8_t                       <a class="code" href="structble__hids__s.html#a6779c4c746ce0d2b8aea6d532e6ad46d">inp_rep_count</a>;                                
<a name="l00191"></a><a class="code" href="structble__hids__s.html#a713a274bad390986573cebcf8f310fd9">00191</a>     <a class="code" href="structble__hids__rep__char__t.html" title="HID Report characteristic structure. This contains various information for initialization of a Report...">ble_hids_rep_char_t</a>           <a class="code" href="structble__hids__s.html#a713a274bad390986573cebcf8f310fd9">inp_rep_array</a>[BLE_HIDS_MAX_INPUT_REP];        
<a name="l00192"></a><a class="code" href="structble__hids__s.html#ac502f18e0e0fb7c42ae9ba83de452e39">00192</a>     uint8_t                       <a class="code" href="structble__hids__s.html#ac502f18e0e0fb7c42ae9ba83de452e39">outp_rep_count</a>;                               
<a name="l00193"></a><a class="code" href="structble__hids__s.html#a58fbf8f51b70c9adefe18987dfe967ce">00193</a>     <a class="code" href="structble__hids__rep__char__t.html" title="HID Report characteristic structure. This contains various information for initialization of a Report...">ble_hids_rep_char_t</a>           <a class="code" href="structble__hids__s.html#a58fbf8f51b70c9adefe18987dfe967ce">outp_rep_array</a>[BLE_HIDS_MAX_OUTPUT_REP];      
<a name="l00194"></a><a class="code" href="structble__hids__s.html#a188334a4e9d4695a90263e843b9985a3">00194</a>     uint8_t                       <a class="code" href="structble__hids__s.html#a188334a4e9d4695a90263e843b9985a3">feature_rep_count</a>;                            
<a name="l00195"></a><a class="code" href="structble__hids__s.html#afec8e1156c8d044b2a4aa29cc17e5997">00195</a>     <a class="code" href="structble__hids__rep__char__t.html" title="HID Report characteristic structure. This contains various information for initialization of a Report...">ble_hids_rep_char_t</a>           <a class="code" href="structble__hids__s.html#afec8e1156c8d044b2a4aa29cc17e5997">feature_rep_array</a>[BLE_HIDS_MAX_FEATURE_REP];  
<a name="l00196"></a><a class="code" href="structble__hids__s.html#a974231b841c4c6cec6b01ffe1edc942f">00196</a>     <a class="code" href="structble__gatts__char__handles__t.html" title="GATT Characteristic Definition Handles.">ble_gatts_char_handles_t</a>      <a class="code" href="structble__hids__s.html#a974231b841c4c6cec6b01ffe1edc942f">rep_map_handles</a>;                              
<a name="l00197"></a><a class="code" href="structble__hids__s.html#a90455387069a4532533ae098982f4fce">00197</a>     uint16_t                      <a class="code" href="structble__hids__s.html#a90455387069a4532533ae098982f4fce">rep_map_ext_rep_ref_handle</a>;                   
<a name="l00198"></a><a class="code" href="structble__hids__s.html#a8ea8df85f97a4439ac1cda7f4d45e76f">00198</a>     <a class="code" href="structble__gatts__char__handles__t.html" title="GATT Characteristic Definition Handles.">ble_gatts_char_handles_t</a>      <a class="code" href="structble__hids__s.html#a8ea8df85f97a4439ac1cda7f4d45e76f">boot_kb_inp_rep_handles</a>;                      
<a name="l00199"></a><a class="code" href="structble__hids__s.html#ada48a59407a75f6b349dc89ff8787257">00199</a>     <a class="code" href="structble__gatts__char__handles__t.html" title="GATT Characteristic Definition Handles.">ble_gatts_char_handles_t</a>      <a class="code" href="structble__hids__s.html#ada48a59407a75f6b349dc89ff8787257">boot_kb_outp_rep_handles</a>;                     
<a name="l00200"></a><a class="code" href="structble__hids__s.html#aa64bd39c1a5662916445b80fdecbb812">00200</a>     <a class="code" href="structble__gatts__char__handles__t.html" title="GATT Characteristic Definition Handles.">ble_gatts_char_handles_t</a>      <a class="code" href="structble__hids__s.html#aa64bd39c1a5662916445b80fdecbb812">boot_mouse_inp_rep_handles</a>;                   
<a name="l00201"></a><a class="code" href="structble__hids__s.html#af5ab8070c643dd8ccc7975038fc7996e">00201</a>     <a class="code" href="structble__gatts__char__handles__t.html" title="GATT Characteristic Definition Handles.">ble_gatts_char_handles_t</a>      <a class="code" href="structble__hids__s.html#af5ab8070c643dd8ccc7975038fc7996e">hid_information_handles</a>;                      
<a name="l00202"></a><a class="code" href="structble__hids__s.html#a19f94e464efe3fde2d32c82dcc2542d6">00202</a>     <a class="code" href="structble__gatts__char__handles__t.html" title="GATT Characteristic Definition Handles.">ble_gatts_char_handles_t</a>      <a class="code" href="structble__hids__s.html#a19f94e464efe3fde2d32c82dcc2542d6">hid_control_point_handles</a>;                    
<a name="l00203"></a><a class="code" href="structble__hids__s.html#a0d5ffe38d68e48d81e61fc6a4999ae68">00203</a>     uint16_t                      <a class="code" href="structble__hids__s.html#a0d5ffe38d68e48d81e61fc6a4999ae68">conn_handle</a>;                                  
<a name="l00204"></a>00204 } <a class="code" href="group__ble__sdk__srv__hids.html#ga7038aff3f095043b34e0a1403dd4ebcc" title="HID Service structure. This contains various status information for the service.">ble_hids_t</a>;
<a name="l00205"></a>00205 
<a name="l00214"></a>00214 uint32_t <a class="code" href="group__ble__sdk__srv__hids.html#gaf0b5ac4400c5c10be0a32554a6ffb68a" title="Initialize the HID Service.">ble_hids_init</a>(<a class="code" href="structble__hids__s.html" title="HID Service structure. This contains various status information for the service.">ble_hids_t</a> * p_hids, <span class="keyword">const</span> <a class="code" href="structble__hids__init__t.html" title="HID Service init structure. This contains all options and data needed for initialization of the servi...">ble_hids_init_t</a> * p_hids_init);
<a name="l00215"></a>00215 
<a name="l00223"></a>00223 <span class="keywordtype">void</span> <a class="code" href="group__ble__sdk__srv__hids.html#ga77b3d388f18004a1e730b4f2bbee5cac" title="HID Service BLE stack event handler.">ble_hids_on_ble_evt</a>(<a class="code" href="structble__hids__s.html" title="HID Service structure. This contains various status information for the service.">ble_hids_t</a> * p_hids, <a class="code" href="structble__evt__t.html" title="Common BLE Event type, wrapping the module specific event reports.">ble_evt_t</a> * p_ble_evt);
<a name="l00224"></a>00224 
<a name="l00236"></a>00236 uint32_t <a class="code" href="group__ble__sdk__srv__hids.html#gaebf0c8621a14c15990aeac30750fb5bc" title="Send Input Report.">ble_hids_inp_rep_send</a>(<a class="code" href="structble__hids__s.html" title="HID Service structure. This contains various status information for the service.">ble_hids_t</a> * p_hids, 
<a name="l00237"></a>00237                                uint8_t      rep_index, 
<a name="l00238"></a>00238                                uint16_t     len, 
<a name="l00239"></a>00239                                uint8_t *    p_data);
<a name="l00240"></a>00240 
<a name="l00250"></a>00250 uint32_t <a class="code" href="group__ble__sdk__srv__hids.html#ga30a528bd23ffe8ddea07d1960eb4c507" title="Send Boot Keyboard Input Report.">ble_hids_boot_kb_inp_rep_send</a>(<a class="code" href="structble__hids__s.html" title="HID Service structure. This contains various status information for the service.">ble_hids_t</a> * p_hids, 
<a name="l00251"></a>00251                                        uint16_t     len, 
<a name="l00252"></a>00252                                        uint8_t *    p_data);
<a name="l00253"></a>00253 
<a name="l00266"></a>00266 uint32_t <a class="code" href="group__ble__sdk__srv__hids.html#gafc9114dc1527bfdd5a961c57c35357e3" title="Send Boot Mouse Input Report.">ble_hids_boot_mouse_inp_rep_send</a>(<a class="code" href="structble__hids__s.html" title="HID Service structure. This contains various status information for the service.">ble_hids_t</a> * p_hids, 
<a name="l00267"></a>00267                                           uint8_t      buttons, 
<a name="l00268"></a>00268                                           int8_t       x_delta, 
<a name="l00269"></a>00269                                           int8_t       y_delta,
<a name="l00270"></a>00270                                           uint16_t     optional_data_len,
<a name="l00271"></a>00271                                           uint8_t *    p_optional_data);
<a name="l00272"></a>00272 
<a name="l00285"></a>00285 uint32_t <a class="code" href="group__ble__sdk__srv__hids.html#ga66e5fb9cefb62e76a88f2cc229c55f70" title="Get the current value of Output Report from the stack.">ble_hids_outp_rep_get</a>(<a class="code" href="structble__hids__s.html" title="HID Service structure. This contains various status information for the service.">ble_hids_t</a> * p_hids,
<a name="l00286"></a>00286                                uint8_t      rep_index,
<a name="l00287"></a>00287                                uint16_t     len,
<a name="l00288"></a>00288                                uint8_t      offset,
<a name="l00289"></a>00289                                uint8_t *    p_outp_rep);
<a name="l00290"></a>00290 
<a name="l00291"></a>00291 <span class="preprocessor">#endif // BLE_HIDS_H__</span>
<a name="l00292"></a>00292 <span class="preprocessor"></span>
</pre></div></div>
</div>
  <div id="nav-path" class="navpath">
    <ul>
      <li class="navelem"><a class="el" href="ble__hids_8h.html">ble_hids.h</a>      </li>
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
     onmouseover="return searchBox.OnSearchSelectShow()"
     onmouseout="return searchBox.OnSearchSelectHide()"
     onkeydown="return searchBox.OnSearchSelectKey(event)">
<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Data Structures</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Enumerations</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Defines</a></div>

<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0" 
        name="MSearchResults" id="MSearchResults">
</iframe>
</div>


    <li class="footer">
      Copyright &copy 2006-2011 <a href="http://www.nordicsemi.no" style="text-decoration:none">Nordic Semiconductor</a>.
      All Rights Reserved.
      <a href="disclaimer.html">Disclaimer</a>
    </li>
   </ul>
 </div>


</body>
</html>
